/*
 * @version: 1.0
 * @Author: zhl
 * @Date: 2021-12-30 09:47:26
 * @LastEditors: zhl
 * @LastEditTime: 2022-01-04 11:43:19
 * @Description: 文件实现描述
 */

#ifndef __MODBUS_DATA_STRUCT_H__
#define __MODBUS_DATA_STRUCT_H__

/**
 * @brief 采集数据使用的数据结构
 * 
 */
typedef struct _COLLECT_DATA{
    int64_t dev_id;             //设备id
    int64_t protocol_id;        //协议id
    int     start_addr;         //起始地址
    int     func_code;          //功能码
    int     reg_count;          //寄存器数量
    int     data_len;           //数据长度
    uint8_t *data;              //数据内容
    std::string name;           //采集项名称
}COLLECT_DATA;
/**
 * @brief modbus支持数据类型
 * 
 */
typedef enum _MODBUS_DATA_TYPE{
    DATA_TYPE_SHORT           = 1,  //short类型
    DATA_TYPE_UNSIGNED_SHORT  = 2,  //无符号short类型
    DATA_TYPE_INT             = 3,  //int类型
    DATA_TYPE_UNSIGNED_INT    = 4,  //无符号int类型
    DATA_TYPE_FLOAT           = 5,  //浮点型
    DATA_TYPE_BIT             = 6,  //位
    DATA_TYPE_BITS            = 7   //多位
}MODBUS_DATA_TYPE;


#endif /* __MODBUS_DATA_STRUCT_H__ */
